<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    /*  13. 第三大的数
        给你一个非空数组，返回此数组中 第三大的数 。如果不存在，则返回数组中最大的数。
    
    示例 1：
        输入：[3, 2, 1]
        输出：1
        解释：第三大的数是 1 。
    示例 2：
        输入：[1, 2]
        输出：2
        解释：第三大的数不存在, 所以返回最大的数 2 。
    示例 3：
        输入：[2, 2, 3, 1]
        输出：1
        解释：注意，要求返回第三大的数，是指在所有不同数字中排第三大的数。
    此例中存在两个值为 2 的数，它们都排第二。在所有不同数字中排第三大的数为 1 。 */

    var thirdMax = function (nums) {
        let arr = []
        //数组去重
        for (let i = 0; i < nums.length; i++) {
            if (arr.indexOf(nums[i]) == -1) {
                arr.push(nums[i])
            }
        }
        //去重后的数组排序
        arr.sort(function (a, b) { return b - a })

        //第三个数不等于undefined则证明有返回该数，没有返回第一项
        return arr[2] != undefined ? arr[2] : arr[0]
    };

</script>